﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kokomo.Lexical.Expressions;

namespace Kokomo.PeInspector.Reflection.Disassembly
{
	class LocalAllocExpression : Expression
	{
		public Expression Size { get; private set; }

		public LocalAllocExpression(Expression size)
		{
			if (size == null) throw new ArgumentNullException("size");

			this.Size = size;
		}
		public override string ToString()
		{
			return string.Format("localloc({0})", this.Size);
		}
		//public override Type Compile(ExpressionCompilationContext context)
		//{
		//    throw new NotImplementedException();
		//}

		//protected override ExpressionResult ExecuteCore(ExpressionEvaluationContext context, ExpressionExecutionMode mode)
		//{
		//    throw new NotImplementedException();
		//}
		public override ExpressionResult Evaluate(ExpressionEvaluateContext context)
		{
			throw new NotImplementedException();
		}
	}
}
